package emp.entidades;

import java.io.Serializable;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.springframework.data.annotation.Transient;
import org.springframework.format.annotation.DateTimeFormat;

import com.axcessfinancial.domain.*;
import com.sun.org.apache.xml.internal.security.c14n.helper.C14nHelper;

@Entity
@Table(name="modulo")
public class EntModulo extends com.axcessfinancial.domain.BaseEntity implements Serializable{

	@Transient
	private static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
	
	public EntModulo() {
		// TODO Auto-generated constructor stub
	}

	private String nombre;
	private String descripcion;
	
	@Temporal(TemporalType.TIMESTAMP)
	@DateTimeFormat(pattern = "yyyy-MM-dd") 
	private Date fechaCrea;
	private String versionMod;
	private int estado;
	
	@Column(name="nombre", length=30)
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	@Column(name="descripcion", length=120)
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	
	@Column(name="fechaCrea",nullable = false, columnDefinition = "timestamp") 
	@Temporal(TemporalType.TIMESTAMP)
	public Date getFechaCrea() {
		return fechaCrea;
	}
	public void setFechaCrea(Date fechaCrea) {
		this.fechaCrea = fechaCrea;
	}
	
	public void setFechaCrea(String fechaCrea) {
		try {
			this.fechaCrea = format.parse(fechaCrea);
		} catch (ParseException e) { 
			e.printStackTrace();
		}
	}
	
	
	@Column(name="versionMod", length=20)
	public String getVersionMod() {
		return versionMod;
	}
	public void setVersionMod(String versionMod) {
		this.versionMod = versionMod;
	}
	
	@Column(name="estado")
	public int getEstado() {
		return estado;
	}
	public void setEstado(int estado) {
		this.estado = estado;
	}
	
	public EntModulo(String nombre, String descripcion, Date fechaCrea,
			String versionMod, int estado) {
		super();
		this.nombre = nombre;
		this.descripcion = descripcion;
		this.fechaCrea = fechaCrea;
		this.versionMod = versionMod;
		this.estado = estado;
	}
	
}
